#ifndef LAURIN_80211_ACCESS_POINT_H_
#define LAURIN_80211_ACCESS_POINT_H_

#include "laurin-80211-station.h"
#include "../laurin-radio-info.h"
#include <list>



class Laurin80211AccessPoint : public Laurin80211Station
{
	public:

		Laurin80211AccessPoint(u_int8_t* mac, LaurinBeaconDetails details);
		Laurin80211AccessPoint(const Laurin80211AccessPoint& accessPoint);
		virtual ~Laurin80211AccessPoint();

		LaurinBeaconDetails getBeaconDetails() const;
		void setDistanceFromMonitor(double distance);

		void addBeaconTSFT(u_int64_t beacon_time);
		virtual bool isLocationAvaible();

	private:

		LaurinBeaconDetails _details;
		std::list<u_int64_t> _beacons;

		bool _beacon_elaborated;

		bool elaborateBeaconTSFT();
};

#endif
